/*
 * StringExceptions.java
 *
 * Created on 28 de septiembre de 2006, 10:24 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package inc.jmc.cyberboard.common;

/**
 * Esta clase es un wrapper que sirve para obtener la cadena de excepcion provocada por MySQL
 * @author Juan Miguel Olguin Salguero
 */
public class StringExceptions {
    
    ////
    //Aqui tenemos la cadena con el mensaje que nos arrojo.
    /**
     * Mensaje de la excepcion, pero sin el stack trace
     */
    private String msg;

    /**
     * obtiene el mensaje de la excepcion, pero sin el stack trace
     * @return regresa una cadena con el mensaje de la excepcion, pero sin el stack trace de My SQL
     */
    public String getMsg() {
        return msg;
    }
    /**
     * establece el mensaje de excepcion, si es que este se desea modificar
     * @param msg mensaje para incializar al atributo msg de este StringException
     */
    public void setMsg(String msg) {
        this.msg = msg;
    }

    /**
     * El constructor recibe la excepcion de MySQL para que esta sea parseada y se le quite todo el stacktrace y asi se pueda recuperar solo el mensaje
     * @param ex la excepcion MySQL
     */
    public StringExceptions(Exception ex) {
        String msg1=ex.getMessage();
        String sub1=ex.getClass().getName();
        if(msg1.indexOf("EXCEPTION **")>0)
        {
            sub1=msg1.substring(msg1.indexOf("EXCEPTION **"),msg1.indexOf("STACKTRACE:"));
            sub1=sub1.replace('\n',' ');
        }
        else
            sub1=ex.getMessage();
        msg=sub1;
    }
    
}
